package com.yzq.controller;

import com.yzq.common.Result;
import com.yzq.model.entity.Classify;
import com.yzq.service.ClassifyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@Api(tags = "分类管理")
@RequestMapping("/classify")
@RestController
public class ClassifyController {

    @Resource
    private ClassifyService classifyService;

    /**
     * 添加分类
     * @param classify 分类实体
     * @return 添加结果
     */
    @ApiOperation("添加分类")
    @PostMapping("/add")
    public Result<Boolean> addClassify(@RequestBody Classify classify) {
        return Result.success(classifyService.addClassify(classify));
    }

    /**
     * 删除分类
     * @param id 分类ID
     * @return 删除结果
     */
    @ApiOperation("删除分类")
    @DeleteMapping("/delete/{id}")
    public Result<Boolean> deleteClassify(@PathVariable Long id) {
        return Result.success(classifyService.deleteClassify(id));
    }

    /**
     * 修改分类
     * @param classify 分类实体
     * @return 修改结果
     */
    @ApiOperation("修改分类")
    @PutMapping("/update")
    public Result<Boolean> updateClassify(@RequestBody Classify classify) {
        return Result.success(classifyService.updateClassify(classify));
    }

    /**
     * 获取所有分类
     * @return 分类列表
     */
    @ApiOperation("获取所有分类")
    @GetMapping("/list")
    public Result<List<Classify>> getAllClassifies() {
        return Result.success(classifyService.getAllClassifies());
    }

    /**
     * 根据ID获取分类
     * @param id 分类ID
     * @return 分类实体
     */
    @ApiOperation("根据ID获取分类")
    @GetMapping("/get/{id}")
    public Result<Classify> getClassifyById(@PathVariable Long id) {
        return Result.success(classifyService.getClassifyById(id));
    }
}
